Wireless Device Content Information Theft Protection System

ABSTRACT

A wireless device, such as a laptop computer or a cellular phone, may contain confidential information which may be secured by an internal security system. When the device is stolen, the user can provide a portion of a kill code to a wireless service provider. The wireless service provider provides its own portion of the kill code and combines it with the user&#39;s supplied code. Then, the service provider may transmit the combined kill code to the wireless device. Upon receipt, the wireless device may erase all confidential information on the device. In other embodiments, it may erase any unlocked block of memory. As still another alternative, the system may also, upon receipt of the combined kill code, disable the operating system.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is a divisional of U.S. patent application Ser. No. 10/965,066, filed on Oct. 13, 2004.

BACKGROUND

This invention relates generally to wireless devices.

Wireless devices include any device that can receive a wireless communication. Examples of such devices include cellular telephones, laptop computers, and personal digital assistants, to mention a few examples.

Portable devices, including portable wireless devices, are prone to theft. When stolen, not only is the property taken, but also confidential information, stored on the wireless device, may be obtained which may be misused. Examples of such confidential information include banking information, passwords, and addresses.

The owner of the wireless device is victimized through the loss of the hardware. The owner also suffers the possibility of further victimization through the unauthorized access to confidential information.

Thus, there is a need for a way to protect the confidential information when a wireless device is misappropriated.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a system depiction of one embodiment of the present invention;

FIG. 2 is a schematic depiction of the non-volatile storage shown in FIG. 1 in accordance with one embodiment of the present invention;

FIG. 3 is a flow chart for a software 28, shown in FIG. 2, in accordance with one embodiment of the present invention;

FIG. 4 is a diagram illustrating the operation of one embodiment of the present invention; and,

FIG. 5 is a flow chart for software in accordance with another embodiment of the present invention.

DETAILED DESCRIPTION

Referring to FIG. 1, a wireless device 10 may include a general purpose processor 12 coupled to a bus 16. The wireless device may be a laptop computer, a personal digital assistant, or a cellular telephone, to mention a few examples. In some cases, such as when the device 10 is a cellular telephone, it may also include a digital signal processor (DSP) 14, also coupled to the bus 16. A variety of elements may be coupled to the device 16 as well, including a volatile storage 18, an input/output device 20, and a non-volatile storage 22. In one embodiment, the non-volatile storage 22 may be flash memory. In another embodiment, the storage 22 may be a small form factor hard drive, removable or embedded memory card, or a subscriber identity module (SIM) device.

Also coupled to the bus 16 is a wireless interface 25. The wireless interface may be a cellular wireless interface, or a wireless interface in association with any other wireless standard. It may be, for example, to transmit messages over a radio frequency network. The wireless interface may be an antenna or a wireless transceiver, although the scope of the present invention is not limited in this respect. For example, the antenna may be a dipole antenna in one embodiment of the present invention.

In accordance with one embodiment of the present invention, the non-volatile storage 22 may be implemented by a semiconductor memory such as a flash memory. In one embodiment the storage 22 may be implemented at least in part by a removable memory card or stick. In such an embodiment, blocks within the memory may be either locked or unlocked. Unlocked blocks may store anything other than the operating system for the system 10 and the security system 28, which will be described hereinafter. Unlocked blocks may store everything other than the operating system and the security system, including passwords, programs, and data. At least some of the information stored in the unlocked blocks may be confidential information which the user would prefer not to have land in the wrong hands.

Conventionally, flash memories may include locked blocks to prevent their erasure under any circumstances. Then, unlocked blocks can be programmed and reprogrammed by the user.

Referring to FIG. 3, the security system 28 may be implemented in software executed by the general purpose processor 12. The security system software 28 initially may receive a kill code. A kill code is a code transmitted by a service provider, such as a wireless service provider, after the device 10 has been stolen. The kill code directs the device 10 to self-destruct certain features. Those features may include the erasing of unlocked blocks of memory 28. It may also ultimately result in the permanent disabling of the device 10 in some embodiments.

A two-part kill code may be provided. That two-part kill code may be permanently stored within the security system 28. The kill code may include a code which only the service provider knows and a code which only the device 10 owner or user knows. Only when both the user and the wireless provider provide their codes and the service provider combine their codes, can the system 10 be disabled.

In some embodiments, this assures the user that the system provider cannot use the security system 28 to simply cutoff the user. At the same time, it secures the service provider who is unable to disable the system without the user's consent, registered via the user providing the kill code which, in some embodiments, may only be known to the user.

The security system software 28 causes the two-part kill code to be compared to a stored kill code permanently resident within the device 10, for example, in the locked blocks 26 of the non-volatile storage 22.

If a match is detected, as indicated at diamond 34, all unlocked blocks may be erased as indicated in block Alternatively, all of the information in unlocked blocks may simply be reprogrammed to be all zeros or all ones, as another example.

Then, in some embodiments, after the software 28 has fully executed its function, it may set an operating system flag to off as indicated in block 38. The next time the operating system runs through the code, it finds the flag set to off, preventing the operating system from executing any further. This may permanently disable the device 10 in some embodiments of the present invention.

Referring to FIG. 4, the operation of the kill code is further illustrated. The owner or user provides a self-destruct code to the service provider. More accurately, the user provides his or her own portion of the overall self-destruct code. The service provider then combines the owner provided self-destruct code with the service provider provided self-destruct code. Then, the service provider wirelessly transmits the combined kill code to the wireless device 10. This wireless transmission may be at periodic intervals in some embodiments. In other embodiments, it may be continuously broadcast. As still another example, before the wireless device 10 may operate, it may have to request authorization from the service provider. Upon such a request, the service provider can provide the kill code.

In some embodiments, the service provider can turn the wireless device 10 on so that the user cannot prevent its actuation and destruction by simply maintaining the device 10 in an off state.

The wireless device 10 then compares both codes received from the service provider to the stored kill code. In case of a match, the device 10 erases unlocked blocks of flash memory and disables the operating system.

In accordance with another embodiment of the present invention, non-volatile storage 22 may be one time programmable. In one embodiment, non-volatile storage 22 may be a one time programmable memory that stores both portions of the kill code when the wireless device 10 is originally provided to a customer. The owner would then transmit the service provider's portion of the kill code to the service provider and would keep the other portion on the device 10.

In still another embodiment of the present invention, the owner can create the kill code and program it into the non-volatile storage 22 where it would be locked. For example, a graphical user interface may prompt the user to enter the two kill codes thru a keyboard which is part of the input output device 20. The system may then automatically transmit the service provider portion to the service provider. In other words the user may be asked to enter a user portion thru a graphical user interface and then the user is automatically asked to provide a service provider portion so that a device 10 knows which one is the service provider portion. Then, the device 10 may automatically transmit the service provider portion to the service provider.

Referring to FIG. 5, in accordance with another embodiment, the user kill code software 40 may be stored in the non-volatile storage 22 in one embodiment of the present invention. The software 40 begins by determining whether the device 10 is on in diamond 42. If so, the user is prompted (e.g., via a graphical user interface) for the user kill code as indicated in block 44. When that kill code is received, it is stored as indicated in diamond 46. When stored, the user is then prompted (e.g., via a graphical user interface) for the service provider kill code as indicated in block 48. A check at diamond 50 determines whether the service provider kill code has been received and stored. If so, the service provider kill code is automatically transmitted to the service provider as indicated in block 52.

While the present invention has been described with respect to a limited number of embodiments, those skilled in the art will appreciate numerous modifications and variations therefrom. It is intended that the appended claims cover all such modifications and variations as fall within the true spirit and scope of this present invention. 

What is claimed is:
 1. A method comprising: providing a two-portion kill code, said kill code including a first portion provided to the user of the wireless device and a second portion provided to a wireless service provider that provides wireless service for the wireless device.
 2. The method of claim 1 including storing said kill code in a flash memory.
 3. The method of claim 2 including storing said kill code in a locked block of said flash memory.
 4. The method of claim 1 including providing a code that is activated by said kill code to automatically erase certain portions of a memory of said device.
 5. The method of claim 4 including providing code that automatically erases unlocked blocks of flash memory.
 6. The method of claim 1 including providing software on said wireless device that prompts the user to enter at least one portion of said two-portion kill code and automatically stores said at least one portion of said two-portion kill code.
 7. The method of claim 6 including automatically prompting the user to enter both portions of said two-portion kill code and automatically storing both portions of said two-portion kill code.
 8. The method of claim 7 including automatically transmitting the service provider's portion of said two-portion kill code to said service provider.
 9. The method of claim 1 further comprising providing a two-portion kill code including a first portion provided to the user of the wireless device and a second portion, different from said first portion, provided to a wireless service provider who provides wireless service for the wireless device, the combination of said first and second portions forming said kill code, said kill code to automatically set the flag to prevent further execution of an operating system of said device when said kill code is detected by said wireless device.
 10. A system comprising: a controller; a storage coupled to said controller storing a two-portion kill code including a first portion provided to the user of the system and a second portion provided to a wireless service provider that provides wireless service to the system; and a wireless interface coupled to said controller.
 11. The system of claim 10 wherein said memory is a flash memory.
 12. The system of claim 11 wherein said flash memory includes locked blocks and unlocked blocks.
 13. The system of claim 12 wherein said kill code is stored in locked blocks of said flash memory.
 14. The system of claim 13 wherein confidential information is stored in said unlocked blocks of said flash memory.
 15. The system of claim 14 wherein said operating system is stored in locked blocks of said flash memory.
 16. The system of claim 10 wherein said storage stores code activated by receipt of a kill code to automatically erase certain portions of said storage.
 17. The system of claim 16, said code to automatically erase unlocked blocks of said storage.
 18. The system of claim 10 wherein said storage storing a two-portion kill code including a first portion provided to the user of the system and a second portion, different from said first portion, provided to a wireless service provider that provides wireless service to the system, the combination of the first and second portions forming said kill code to automatically set the flag to prevent further execution of an operating system of said system when said kill code is detected, said controller to enable the service provider to remotely turn said system on so that said flag may be set. 